import java.util.*;

public class test1 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int[] nums = new int[n];
        for (int i = 0; i < n; i++) {
            nums[i] = in.nextInt();
        }
        System.out.println(summaryRanges(nums));
    }
    public static List<String> summaryRanges(int[] nums) {
        //输出连续的
        List<String> stringList = new ArrayList<>();
        int index1 = 0;//表示区间的开头
        int index2 = 0;//表示区间的结尾
        while(index1!=nums.length-1&&index2!=nums.length-1){
            //当开头表示为最后一个数据的时候就代表此时的最后一个数组自己构成一个区间
            if(nums[index2+1]==nums[index2]+1){
                //表示这是连续的
                index2++;
            }else{
                //就是后面不连续了,此时有两种情况
                //1.index1==index2
                if(index1!=index2){
                    stringList.add(nums[index1]+"->"+nums[index2]);
                }
                //2.index1!=index2
                else {
                    stringList.add(nums[index1]+"");
                }
                index1=index2+1;
                index2=index1;
            }
        }
        if(index1!=index2){
            stringList.add(nums[index1]+"->"+nums[index2]);
        }
        //2.index1!=index2
        else {
            stringList.add(nums[index1]+"");
        }
        return stringList;
    }
}
